Constant Propagation on Predicated Code
نویسندگان
چکیده
We present a new constant propagation (CP) algorithm for predicated code, for which classical CP-techniques are inadequate. The new algorithm works for arbitrary control flow, detects constancy of terms, whose operands are not constant themselves, and is optimal for acyclic code such as hyperblocks, the central “compilation units” for instruction scheduling of predicated code. The new algorithm operates on the predicated value graph, an extension of the well-known value graph of Alpern et al. [Alpern et al., 1988], which is tailored for predicated code and constructed on top of the predicate-sensitive SSA-form, which has been introduced by Carter et al. [Carter et al., 1999]. As an additional benefit, the new algorithm identifies off-predicated instructions in predicated code. They can simply be eliminated thereby further increasing the performance and simplifying later compilation phases such as instruction scheduling.
منابع مشابه
Partial Redundancy Elimination on Predicated Code
Partial redundancy elimination (PRE) is one of the most widespread optimizations in compilers. However, current PRE-techniques are inadequate to handle predicated code, i.e., programs where instructions are guarded by a 1-bit register that dynamically controls whether the effect of instruction should be committed or nullified. In fact, to exclude corrupting the semantics they must be overly con...
متن کاملPredicated Instructions for Code Compaction
Procedural abstraction, the replacement of several identical code sequences with calls to a single representative function, is a powerful tool in producing compact executables. We explore how predicated instructions can be used to allow procedural abstraction of non-identical basic blocks. A predicated instruction is one that the processor executes if a condition (specified in the opcode) is tr...
متن کاملPartial dead code elimination on predicated code regions
This paper presents the design, implementation and experimental evaluation of a practical region-based partial dead code elimination (PDE) algorithm on predicated code in the ORC compiler framework. Existing PDE algorithms are not applicable on predicated code due to the existence of if-converted branches in the program. The proposed algorithm processes all PDE candidates in a worklist and reas...
متن کاملISCA - 22 , Jun 1995 1 A Comparison of Full and Partial Predicated Execution Supportfor ILP
One can eeectively utilize predicated execution to improve branch handling in instruction-level parallel processors. Although the potential beneets of predicated execution are high, the tradeoos involved in the design of an instruction set to support predicated execution can be diicult. On one end of the design spectrum, architectural support for full pred-icated execution requires increasing t...
متن کاملA Comparison of Full and Partial Predicated Execution
One can eeectively utilize predicated execution to improve branch handling in instruction-level parallel processors. Although the potential beneets of predicated execution are high, the tradeoos involved in the design of an instruction set to support predicated execution can be diicult. On one end of the design spectrum, architectural support for full pred-icated execution requires increasing t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. UCS
دوره 9 شماره
صفحات -
تاریخ انتشار 2003